The ability to easily interact with the function and features of a software application distinguishes one application from another. A graphical user interface (GUI) allows a user to interact with a computer application through graphical controls. A pointing device, touch-screen, or in some cases a keyboard, can be used to select and manipulate graphical controls of a computer application, as opposed to entering text commands. Many types of GUI elements have been employed to improve the interoperability of users and computer software. Floating windows, pop-ups, pull-downs, dialog boxes, scrolling bars, menus, and tool bars are all examples of objects used as GUI elements to facilitate software usability.
Common selections techniques include linear lists, displayed in a common order, such as alphabetically, listed vertically, from which a selection is made by an input device. In some cases the more popular or more frequently used selections may be positioned at the top of a list, but as a list grows in length, it becomes more difficult to locate specific items or recall the location or path-to-location for more infrequently used selections.
Contextual menus offer options intended to most likely apply to the active content, but are usually generic in nature.
A GUI may make use of icons, cursors, pop-up menus, and menu bars, to make changes, apply functionality, or both, to the content of an active application, file or window. The objective of the organization and behavior of various GUI elements is to provide the most likely required functions for the current activity and facilitate discovery and access of applying the functions. Typically this involves use of an input device such as a mouse or other pointing device or various touching techniques on a touch screen display. Options of activity or function are displayed in lengthy drop-down menus, many with nested levels that add complexity to discovery and selection of the desired activity or function. A typical menu action may require selection of an active window, selection of content within the displayed area using an input device, such as clicking an icon or text, scrolling through a list of options, selecting one or more sub-menus and selecting the desired activity or function. Remembering where options are located adds to the difficulty of menu use. Alternative menu designs offer some relief but still require redirection of focus away from the active content and selection of the content to which the menu option applies.